package cn.ren.dao;

import cn.ren.entity.OrderSettingList;
import cn.ren.pojo.OrderSetting;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface OrderSettingDao {
    /**
    * @Description: 添加预约
    * @Param: [orderSetting]
    * @return: void
    * @Author: 任鹏
    * @Date: 2020/2/25
    */
     void add(OrderSetting orderSetting);
     /**
     * @Description: 更新这一天已有的预约
     * @Param: [orderSetting]
     * @return: void
     * @Author: 任鹏
     * @Date: 2020/2/25
     */
     void editNumberByOrderDate(OrderSetting orderSetting);
     /**
     * @Description: 根据日期查询存在数量
     * @Param: [orderDate]
     * @return: long
     * @Author: 任鹏
     * @Date: 2020/2/25
     */
     long findCountByOrderDate(Date orderDate);
    /**
    * @Description: 查询该时间段（一个月）的所有预定数据
    * @Param: [start, end]
    * @return: java.util.List<cn.ren.pojo.OrderSetting>
    * @Author: 任鹏
    * @Date: 2020/2/26
    */
    List<OrderSetting> getOrderSettingByMonth(@Param("start") String start, @Param("end") String end);

    /**
     * 更新预约人数
     * @param orderSetting
     */
    void editReservationsByOrderDate(OrderSetting orderSetting);

    /**
     * 根据日期查询预约设置
     * @param date
     * @return
     */
    OrderSetting findOrderSettingByOrderDate(Date date);



    long dj_findCountByOrderDateAndreservations4number(Date regTime);

    /**
     * 条件查询预约列表
     * @param queryString
     * @return
     */
    Page<OrderSettingList> findListByCondition(String queryString);

    /**
     * 根据id删除预约
     * @param id
     */
    void del(int id);

}
